#!/usr/bin/env python3
"""
手动启用无障碍服务脚本
通过ADB命令直接启用无障碍服务
"""

import subprocess
import time


def enable_accessibility_service():
    """通过ADB命令启用无障碍服务"""
    print("🔧 正在通过ADB启用无障碍服务...")

    commands = [
        # 启用无障碍服务
        "adb shell settings put secure enabled_accessibility_services com.github.uiautomator/.AccessibilityService",
        "adb shell settings put secure accessibility_enabled 1",
        # 给予权限
        "adb shell pm grant com.github.uiautomator android.permission.WRITE_SECURE_SETTINGS",
        "adb shell pm grant com.github.uiautomator android.permission.SYSTEM_ALERT_WINDOW",
        # 启动服务
        "adb shell am startservice -n com.github.uiautomator/.AccessibilityService",
    ]

    for cmd in commands:
        try:
            print(f"执行: {cmd}")
            result = subprocess.run(
                cmd.split(), capture_output=True, text=True, timeout=10
            )
            if result.returncode == 0:
                print(f"✅ 成功")
            else:
                print(f"⚠️ 可能失败: {result.stderr}")
        except Exception as e:
            print(f"❌ 错误: {e}")
        time.sleep(1)

    print("\n🎯 正在测试权限...")
    try:
        import uiautomator2 as u2

        d = u2.connect()
        # 测试点击
        info = d.info
        d.click(info["displayWidth"] // 2, info["displayHeight"] // 2)
        print("✅ 无障碍服务启用成功！")
        return True
    except Exception as e:
        print(f"❌ 测试失败: {e}")
        return False


if __name__ == "__main__":
    success = enable_accessibility_service()

    if not success:
        print(
            f"""
⚠️ 自动启用失败，请手动操作：

1. 在手机上打开 设置 → 应用管理
2. 找到 "com.github.uiautomator" 应用
3. 进入应用信息，点击 "权限管理"
4. 开启所有权限，特别是：
   - 修改系统设置
   - 在其他应用上层显示
   - 无障碍服务

5. 返回 设置 → 无障碍 → 服务
6. 查找并开启 UiAutomator 或类似服务

或者尝试：
- 重启手机后重新运行 python -m uiautomator2 init
- 手动安装 ATXAgent2.apk
"""
        )

    input("\n按回车键退出...")
